home *** CD-ROM | disk | FTP | other *** search
/ Great Canadian Scientists / GCS_CD.iso / mac / PC / viewer.exe / viewer.DXR / 00016_Read File Handlers.ls < prev    next >
Encoding:
Text File  |  1996-09-17  |  3.3 KB  |  115 lines

  1. on ReadFile
  2.   global ReadScores, name
  3.   set LengthOfFile to 15
  4.   if the machineType <> 256 then
  5.     set ReadScores to FileIO(mnew, "?read", "TEXT")
  6.   else
  7.     set ReadScores to FileIO(mnew, "?read", "TXT")
  8.   end if
  9.   if ReadScores < 0 then
  10.     cursor(-1)
  11.     exit
  12.   end if
  13.   set name to ReadScores(mFileName)
  14.   SetResult()
  15.   repeat with Counter = 1 to LengthOfFile + 1
  16.     set Temp to ReadScores(mReadLine)
  17.     if (Counter = 1) and (Temp <> ("Great Canadian Scientists Player Record" & RETURN)) then
  18.       FileError(0)
  19.     end if
  20.     if (Temp = EMPTY) and (Counter <= LengthOfFile) then
  21.       FileError(1)
  22.     end if
  23.     if (Temp <> EMPTY) and (Counter > LengthOfFile) then
  24.       FileError(2)
  25.     end if
  26.     if the result = 1 then
  27.       put "ERROR"
  28.       exit
  29.     end if
  30.   end repeat
  31.   ReadScoreFile()
  32.   ScoreDisplay()
  33.   if value(field "FinalScore") < 20000 then
  34.     put "Kindergarten" into field "Level"
  35.   else
  36.     if value(field "FinalScore") < 40000 then
  37.       put "Elementary" into field "Level"
  38.     else
  39.       if value(field "FinalScore") < 60000 then
  40.         put "High School" into field "Level"
  41.       else
  42.         if value(field "FinalScore") < 80000 then
  43.           put "University" into field "Level"
  44.         else
  45.           if value(field "FinalScore") < 100000 then
  46.             put "Scientist" into field "Level"
  47.           else
  48.             put "Q" into field "Level"
  49.           end if
  50.         end if
  51.       end if
  52.     end if
  53.   end if
  54. end
  55.  
  56. on ReadScoreFile
  57.   global name
  58.   set ReadScores to FileIO(mnew, "read", name)
  59.   set IDLine to ReadScores(mReadLine)
  60.   set Temp to value(ReadScores(mReadLine))
  61.   if Temp = 0 then
  62.     put "Easy" into field "Difficulty"
  63.   end if
  64.   if Temp = 1 then
  65.     put "Medium" into field "Difficulty"
  66.   end if
  67.   if Temp = 2 then
  68.     put "Hard" into field "Difficulty"
  69.   end if
  70.   set Temp to integer(value(ReadScores(mReadLine)))
  71.   set Temp to integer(value(ReadScores(mReadLine)))
  72.   set Temp to integer(value(ReadScores(mReadLine)))
  73.   set Temp to integer(value(ReadScores(mReadLine)))
  74.   set Temp to integer(value(ReadScores(mReadLine)))
  75.   put integer(value(ReadScores(mReadLine))) into field "SalmonFishing"
  76.   put integer(value(ReadScores(mReadLine))) into field "MemoryTesting"
  77.   put integer(value(ReadScores(mReadLine))) into field "ChromosomePairing"
  78.   put integer(value(ReadScores(mReadLine))) into field "PatternMatching"
  79.   put integer(value(ReadScores(mReadLine))) into field "MapAnalysing"
  80.   set Temp to integer(value(ReadScores(mReadLine)))
  81.   put integer(value(ReadScores(mReadLine))) into field "AtomReacting"
  82.   put value(ReadScores(mReadLine)) into field "PopQuizScore"
  83.   ReadScores(mdispose)
  84.   FilterName()
  85.   put name into field "Name"
  86. end
  87.  
  88. on FilterName
  89.   global name
  90.   set Temp to name
  91.   set name to EMPTY
  92.   if the machineType <> 256 then
  93.     repeat while the last char in Temp <> ":"
  94.       put the last char in Temp before char 1 of name
  95.       delete char -30000 of Temp
  96.     end repeat
  97.   else
  98.     repeat while the last char in Temp <> "\"
  99.       put the last char in Temp before char 1 of name
  100.       delete char -30000 of Temp
  101.     end repeat
  102.   end if
  103. end
  104.  
  105. on FileError Num
  106.   put Num
  107.   alert("There is either something wrong with the selected record file or it isn't a Great Canadian Scientists record file.  Please choose another file.")
  108.   ReadScores(mdispose)
  109.   return 1
  110. end
  111.  
  112. on SetResult
  113.   return 0
  114. end
  115.